#include "PlanoY.h"

const Objeto_3D* PlanoY::Intercepta( Raio r_vis, float* t) const
{
  float x,z;

  *t = (a - r_vis.Y0()) / r_vis.Dy();

  if (*t<0)
    return this;

  x = r_vis.X0() + (*t) * r_vis.Dx();
  if (INSIDE(x,bmin,bmax))
  {
    z = r_vis.Z0() + (*t)*r_vis.Dz();
    if (INSIDE(z,cmin,cmax))
        return this;
  }
  *t = -1;
  return this;
}

TexturePoint PlanoY::pontoTextura(const Ponto_3D& ponto) const
{
    return TexturePoint( (ponto.X() - bmin)/(bmax-bmin) ,
                         (ponto.Z() - cmin)/(cmax-cmin) );
}
